com.ansys.ingress.client.api

## Interface DataManager

-     public interface DataManager

  DataManager defines the interface for performing data management operations on an EKM server. These operations include C.R.U.D., version control, locking, and file transfers.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `FULL_MY_DATA_PATH` The full path to the user's "My Data" folder.
    `static java.lang.String` | `GROUPS_PATH` The path to /System/User Accounts/Groups.
    `static java.lang.String` | `MY_DATA_PATH` The partial path to the user's "My Data" folder.
    `static java.lang.String` | `MY_SAVED_QUERIES` The path to the user's saved queries folder.
    `static java.lang.String` | `SHARED_DATA_PATH` The path to the "Shared Data" folder.
    `static java.lang.String` | `SHARED_QUERIES_FOLDER` The path to the shared queries folder.
    `static java.lang.String` | `USER_ACCOUNTS_PATH` The path to /System/User Accounts/Users.
    `static java.lang.String` | `WORKBENCH_PROJECT_ARCHIVE_EXT` File extension for Workbench project archives (wbpz)
    `static java.lang.String` | `WORKBENCH_PROJECT_EXT` File extension for Workbench projects (wbpj).

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `ModelObject` | `addToVersionControl(ModelObject toAdd)` Adds an object and all of its children to version control in the EKM server.
    `ModelObject` | `addToVersionControl(ModelObject toAdd, boolean recursive)` Adds an object to version control in the EKM server.
    `ModelObject` | `checkin(ModelObject toCheckin, java.lang.String comment)` Checks an object and all of its children into version control on the EKM server.
    `ModelObject` | `checkin(ModelObject toCheckin, java.lang.String comment, boolean recursive)` Checks an object into version control on the EKM server.
    `ModelObject` | `checkout(ModelObject toCheckout)` Checks an object and all of its children out from version control in the EKM server.
    `ModelObject` | `checkout(ModelObject toCheckout, boolean recursive)` Checks an object out from version control in the EKM server.
    `ModelObject` | `checkout(ModelObject toCheckout, boolean recursive, boolean nonExclusive)` Checks an object out from version control in the EKM server.
    `void` | `clearSpecCache()` Clears the cache of object types maintained in the client.
    `ModelObject` | `createFolder(java.lang.String parentPath, java.lang.String name)` Creates a folder with the given name in the object specified by parentPath.
    `ModelObject` | `createModelObject(java.lang.String parentPath, java.lang.String name, java.lang.String typename)` Creates a new object of the given type at the specified path.
    `boolean` | `deleteModelObject(java.lang.String path)` Deletes the object at the specified path.
    `ModelObject` | `deserializeModelObject(java.lang.String xml)` Deserializes an XML string into a ModelObject instance.
    `void` | `download(java.util.List<java.lang.String> sources, java.lang.String destination, boolean overwrite, boolean lock, TransferEventListener listener)` Downloads the objects specified in sources from the EKM server to the destination directory on the client and locks them for exclusive use by the user.
    `void` | `download(java.util.List<java.lang.String> sources, java.lang.String destination, boolean overwrite, TransferEventListener listener)` Downloads the objects specified in sources from the EKM server to the destination directory on the client.
    `void` | `download(java.util.List<java.lang.String> sources, java.lang.String destination, TransferEventListener listener)` Downloads the objects specified in sources from the EKM server to the destination directory on the client.
    `java.util.Set<ModelObject>` | `executeSavedQuery(java.lang.String query)` Executes a user's saved query on the server and returns the results.
    `java.util.Set<ModelObject>` | `executeSavedQuery(java.lang.String query, boolean shared)` Executes a saved query on the server and returns the results.
    `ModelObject` | `findById(java.lang.String archiveId)` Searches the EKM Repository for the object with the specified, unique ID.
    `java.util.Set<ModelObject>` | `findByKeyword(java.lang.String keyword)` Searches for objects, in the Shared Data and user's My Data folders, that contain the specified keyword in any property.
    `java.util.Set<ModelObject>` | `findByKeyword(java.lang.String keyword, java.util.List<java.lang.String> paths)` Searches for objects, in the specified paths, that contain the specified keyword in any property.
    `ModelObject` | `findByPath(java.lang.String path)` Searches the EKM Repository for an object at the specified path.
    `java.util.Set<ModelObject>` | `findByQuery(Query query)` Searches the EKM Repository by executing the given query.
    `java.util.Set<ModelObject>` | `findByQuery(java.lang.String queryXml)` Searches the EKM server for objects using the given XML query.
    `com.ansys.ingress.commons.model.Variant` | `genericCall(java.lang.String controller, java.lang.String method, com.ansys.ingress.commons.model.Variant args)` Deprecated.
    `CacheStatus` | `getCacheStatus(java.lang.String id)` Gets the status of a file transfer that is using an EKM cache server.
    `void` | `getChanges(java.lang.String localCopy, java.lang.String remoteCopy, TransferEventListener listener)` Retrieves differences between local copy of files and folders on the user's machine with coresponding files and folders on the EKM server.
    `java.util.Set<java.lang.String>` | `getConcreteTypes()` Gets the concrete types (types that can be created by a user) defined on the EKM server.
    `Connection` | `getConnection()` Gets the Connection associated with this DataManager.
    `java.util.List<ModelObject>` | `getListing(java.lang.String path)` Gets a list of the file and container objects that are children of the object at the specified path.
    `java.util.List<ModelObject>` | `getListing(java.lang.String path, java.util.Set<java.lang.String> allowedTypes, java.util.Set<java.lang.String> actions)` Gets a list of the specified object types that are children of the object at the specified path.
    `java.util.Map<java.lang.String,ModelSpec>` | `getModelSpecs()` Retrieves the object types supported by the EKM server.
    `java.lang.String` | `getObjectUrl(java.lang.String path)` Returns the URL to an object in the repository.
    `long` | `getTotalBytesCached(java.util.Set<com.ansys.ingress.commons.serializable.ContentManifestEntryData> items)` Get the total number of bytes cached on the cache server for the given items.
    `java.util.Map<java.lang.String,VersionHistoryItem>` | `getVersionHistory(ModelObject versionedObject)` Retrieves the version control history of the specified object from the EKM server.
    `boolean` | `hasPermission(ModelObject toCheck, java.util.Collection<PermissionAction> actions)` Determines if the current user has permission to perform the specified actions on the given object.
    `boolean` | `isCheckinApplicable(ModelObject obj)` Determines whether the specified object can be checked into version control.
    `boolean` | `isDataExtractionPending(java.lang.String path)` Determines if an object on the EKM server is currently having metadata extracted from it.
    `boolean` | `isUsingCache()` Determines if transfers will use an EKM cache server or not.
    `boolean` | `lock(java.lang.String path)` Locks an object for exclusive use by the current user.
    `boolean` | `lock(java.lang.String path, boolean recursive)` Locks an object for exclusive use by the current user.
    `void` | `logDownload(java.util.List<java.lang.String> pathsToLog)` Logs downloads on the server.
    `ModelObject` | `move(java.lang.String source, java.lang.String destination)` Moves the object at the source path to the object at the destination path.
    `void` | `removeCacheStatus(java.lang.String id)` Removes status information from an EKM cache server.
    `ModelObject` | `removeFromVersionControl(ModelObject toRemove)` Removes an object and all of its children from version control.
    `ModelObject` | `removeFromVersionControl(ModelObject toRemove, boolean recursive)` Removes an object from version control.
    `java.lang.String` | `sendChanges(java.lang.String localCopy, java.lang.String remoteCopy, java.util.List<java.lang.String> omissions, TransferEventListener listener)` Sends differences between local copies of files and folders on the user's computer with coresponding files and folders on the EKM server.
    `java.lang.String` | `sendChanges(java.lang.String localCopy, java.lang.String remoteCopy, java.util.List<java.lang.String> omissions, TransferEventListener listener, boolean checkin, java.lang.String comment)` Sends differences between local copies of files and folders on the user's computer with coresponding files and folders on the EKM server.
    `java.lang.String` | `sendChanges(java.lang.String localCopy, java.lang.String remoteCopy, java.util.List<java.lang.String> omissions, TransferEventListener listener, boolean checkin, java.lang.String comment, boolean checkout)` Sends differences between local copies of files and folders on the user's computer with coresponding files and folders on the EKM server.
    `java.lang.String` | `serializeModelObject(ModelObject object)` Serializes a ModelObject instance into XML.
    `java.lang.String` | `serializeModelObject(ModelObject object, boolean fetch)` Serializes a ModelObject instance into XML.
    `java.lang.String` | `serializeModelSpec(ModelSpec spec)` Serializes a ModelSpec instance into XML.
    `ModelObject` | `undoCheckout(ModelObject toUndo)` Restores an object, and all of its children, that was previously checked out from version control.
    `ModelObject` | `undoCheckout(ModelObject toUndo, boolean recursive)` Restores an object that was previously checked out from version control.
    `boolean` | `unlock(java.lang.String path)` Unlocks an object that was previously locked for exclusive use.
    `boolean` | `unlock(java.lang.String path, boolean recursive)` Unlocks an object that was previously locked for exclusive use.
    `void` | `updateAnalysisProject(java.lang.String path)` Updates the Analysis Project object at the specified path.
    `ModelObject` | `updateModelObject(ModelObject toUpdate)` Updates the object on the EKM server.
    `void` | `updateSubscriptions(java.lang.String path, int subscriptions)` Updates the current user's notifications on the object at the specified path.
    `java.lang.String` | `upload(java.util.List<java.lang.String> sources, java.lang.String destination, java.util.List<java.lang.String> omissions, TransferEventListener listener)` Uploads files and folders from the user's computer to the destination folder on the EKM server.
    `java.lang.String` | `upload(java.util.List<java.lang.String> sources, java.lang.String destination, java.util.List<java.lang.String> omissions, TransferEventListener listener, boolean overwrite)` Uploads files and folders from the user's computer to the destination folder on the EKM server.
    `java.lang.String` | `upload(java.util.List<java.lang.String> sources, java.lang.String destination, java.util.List<java.lang.String> omissions, TransferEventListener listener, boolean overwrite, boolean lock)` Uploads files and folders from the user's computer to the destination folder on the EKM server.
    `java.lang.String` | `upload(java.util.List<java.lang.String> sources, java.lang.String destination, java.util.List<java.lang.String> omissions, TransferEventListener listener, boolean overwrite, boolean lock, int alerts)` Uploads files and folders from the user's computer to the destination folder on the EKM server.
    `java.lang.String` | `upload(java.util.List<java.lang.String> sources, java.lang.String destination, java.util.List<java.lang.String> omissions, TransferEventListener listener, boolean overwrite, boolean lock, int alerts, boolean addToVc, boolean checkin, java.lang.String comment, boolean checkout)`
    Uploads files and folders from the user's computer to the destination folder on the EKM server.
    `java.lang.String` | `upload(java.util.List<java.lang.String> sources, java.lang.String destination, java.util.List<java.lang.String> omissions, TransferEventListener listener, boolean overwrite, boolean lock, int alerts, boolean addToVc, boolean checkin, java.lang.String comment, boolean checkout, java.lang.String description)`
    Uploads files and folders from the user's computer to the destination folder on the EKM server.

- - ### Field Detail

    - #### GROUPS_PATH

          static final java.lang.String GROUPS_PATH

      The path to /System/User Accounts/Groups.
      See Also:
        Constant Field Values

    - #### MY_DATA_PATH

          static final java.lang.String MY_DATA_PATH

      The partial path to the user's "My Data" folder.
      See Also:
        Constant Field Values

    - #### FULL_MY_DATA_PATH

          static final java.lang.String FULL_MY_DATA_PATH

      The full path to the user's "My Data" folder.
      See Also:
        Constant Field Values

    - #### MY_SAVED_QUERIES

          static final java.lang.String MY_SAVED_QUERIES

      The path to the user's saved queries folder.
      See Also:
        Constant Field Values

    - #### SHARED_DATA_PATH

          static final java.lang.String SHARED_DATA_PATH

      The path to the "Shared Data" folder.
      See Also:
        Constant Field Values

    - #### SHARED_QUERIES_FOLDER

          static final java.lang.String SHARED_QUERIES_FOLDER

      The path to the shared queries folder.
      See Also:
        Constant Field Values

    - #### USER_ACCOUNTS_PATH

          static final java.lang.String USER_ACCOUNTS_PATH

      The path to /System/User Accounts/Users.
      See Also:
        Constant Field Values

    - #### WORKBENCH_PROJECT_EXT

          static final java.lang.String WORKBENCH_PROJECT_EXT

      File extension for Workbench projects (wbpj).
      See Also:
        Constant Field Values

    - #### WORKBENCH_PROJECT_ARCHIVE_EXT

          static final java.lang.String WORKBENCH_PROJECT_ARCHIVE_EXT

      File extension for Workbench project archives (wbpz)
      See Also:
        Constant Field Values

  - ### Method Detail

    - #### addToVersionControl

          ModelObject addToVersionControl(ModelObject toAdd)
                                   throws DataException

      Adds an object and all of its children to version control in the EKM server. After adding the object to version control, the object must be checked out before it can be modified.
      Parameters:
        `toAdd` - The object to add
      Returns:
        Returns the object that was added to version control.
      Throws:
        `DataException` - if the object could not be added to verison control.

    - #### addToVersionControl

          ModelObject addToVersionControl(ModelObject toAdd,
                                          boolean recursive)
                                   throws DataException

      Adds an object to version control in the EKM server. After adding the object to version control, the object must be checked out before it can be modified.
      Parameters:
        `toAdd` - The object to add
        `recursive` - If all of the object's children should be added to version control.
      Returns:
        Returns the object that was added to version control.
      Throws:
        `DataException` - if the object could not be added to verison control.

    - #### checkin

          ModelObject checkin(ModelObject toCheckin,
                              java.lang.String comment)
                       throws DataException

      Checks an object and all of its children into version control on the EKM server. The object must first be added to version control, checked out, and modified before checking it back into version control.
      Parameters:
        `toCheckin` - The object to check into version control
        `comment` - Description of the modification to the object.
      Returns:
        Returns the object checked into version control.
      Throws:
        `DataException` - if the object could not be checked into version control. This could be due to the fact that no modifications were made to the object.

    - #### checkin

          ModelObject checkin(ModelObject toCheckin,
                              java.lang.String comment,
                              boolean recursive)
                       throws DataException

      Checks an object into version control on the EKM server. The object must first be added to version control, checked out, and modified before checking it back into version control.
      Parameters:
        `toCheckin` - The object to check into version control
        `comment` - Description of the modification to the object.
        `recursive` - If all of the object's children should be checked into version control.
      Returns:
        Returns the object checked into version control.
      Throws:
        `DataException` - if the object could not be checked into version control. This could be due to the fact that no modifications were made to the object.

    - #### checkout

          ModelObject checkout(ModelObject toCheckout)
                        throws DataException

      Checks an object and all of its children out from version control in the EKM server. After the object is checked out, it can only be modified by the user that checked it out. Modifying includes removing the object from version control or deleting it from the repository.
      Parameters:
        `toCheckout` - The object to check out
      Returns:
        Returns the object that was checked out from version control.
      Throws:
        `DataException` - if the object could not be checked out from version control.

    - #### checkout

          ModelObject checkout(ModelObject toCheckout,
                               boolean recursive)
                        throws DataException

      Checks an object out from version control in the EKM server. After the object is checked out, it can only be modified by the user that checked it out. Modifying includes removing the object from version control or deleting it from the repository.
      Parameters:
        `toCheckout` - The object to check out
        `recursive` - If all of the object's children should be checked out
      Returns:
        Returns the object that was checked out from version control.
      Throws:
        `DataException` - if the object could not be checked out from version control.

    - #### checkout

          ModelObject checkout(ModelObject toCheckout,
                               boolean recursive,
                               boolean nonExclusive)
                        throws DataException

      Checks an object out from version control in the EKM server. After the object is checked out, it can only be modified by the user that checked it out. Modifying includes removing the object from version control or deleting it from the repository.
      Parameters:
        `toCheckout` - The object to check out
        `recursive` - If all of the object's children should be checked out
        `nonExclusive` - Allow other users to edit the object
      Returns:
        Returns the object that was checked out from version control.
      Throws:
        `DataException` - if the object could not be checked out from version control.

    - #### clearSpecCache

          void clearSpecCache()

      Clears the cache of object types maintained in the client. This means the next call to `getModelSpecs()` will go to the EKM server to get the latest object types.

    - #### createFolder

          ModelObject createFolder(java.lang.String parentPath,
                                   java.lang.String name)
                            throws DataException

      Creates a folder with the given name in the object specified by parentPath.
      Parameters:
        `parentPath` - The path to the parent object in which the new folder is created.
        `name` - The name of the new folder.
      Returns:
        Returns the new folder.
      Throws:
        `DataException` - if the folder could not be created.

    - #### createModelObject

          ModelObject createModelObject(java.lang.String parentPath,
                                        java.lang.String name,
                                        java.lang.String typename)
                                 throws DataException

      Creates a new object of the given type at the specified path.
      Parameters:
        `parentPath` - The path to the parent object in which the new object is created.
        `name` - The name of the new object
        `typename` - The type of the new object
      Returns:
        Returns the new object.
      Throws:
        `DataException` - if the object could not be created.

    - #### deleteModelObject

          boolean deleteModelObject(java.lang.String path)
                             throws DataException

      Deletes the object at the specified path.
      Parameters:
        `path` - The path of the object to delete
      Returns:
        Returns true if the object was deleted or false if the object does not exist.
      Throws:
        `DataException` - if the object could not be delete for some reason other than it does not exist.

    - #### deserializeModelObject

          ModelObject deserializeModelObject(java.lang.String xml)
                                      throws com.ansys.ingress.commons.serialization.SerializationException

      Deserializes an XML string into a ModelObject instance.
      Parameters:
        `xml` - the xml
      Returns:
        Returns the ModelObject instance.
      Throws:
        `com.ansys.ingress.commons.serialization.SerializationException` - if the XML could not be deserialized.

    - #### download

          void download(java.util.List<java.lang.String> sources,
                        java.lang.String destination,
                        TransferEventListener listener)
                 throws DataException

      Downloads the objects specified in sources from the EKM server to the destination directory on the client. Existing files on the client are overwritten.
      Parameters:
        `sources` - The list of paths to objects that will be downloaded
        `destination` - The destination directory on the client
        `listener` - The object that receives events about the progress of the download.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### download

          void download(java.util.List<java.lang.String> sources,
                        java.lang.String destination,
                        boolean overwrite,
                        TransferEventListener listener)
                 throws DataException

      Downloads the objects specified in sources from the EKM server to the destination directory on the client.
      Parameters:
        `sources` - The list of paths to objects that will be downloaded
        `destination` - The destination directory on the client
        `overwrite` - If existing files on the client should be overwritten or not.
        `listener` - The object that receives events about the progress of the download.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### download

          void download(java.util.List<java.lang.String> sources,
                        java.lang.String destination,
                        boolean overwrite,
                        boolean lock,
                        TransferEventListener listener)
                 throws DataException

      Downloads the objects specified in sources from the EKM server to the destination directory on the client and locks them for exclusive use by the user.
      Parameters:
        `sources` - The list of paths to objects that will be downloaded
        `destination` - The destination directory on the client
        `overwrite` - If existing files on the client should be overwritten or not.
        `lock` - If the objects on the EKM server should be locked for exclusive use by the current user or not.
        `listener` - The object that receives events about the progress of the download.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### executeSavedQuery

          java.util.Set<ModelObject> executeSavedQuery(java.lang.String query)
                                                throws DataException

      Executes a user's saved query on the server and returns the results.
      Parameters:
        `query` - The name of the saved query to execute
      Returns:
        Returns the results as a set of ModelObjects. The set is guaranteed to not be null, but may be empty if no results are returned by the query or if the specified query does not exist.
      Throws:
        `DataException` - if an error occurs executing the script.

    - #### executeSavedQuery

          java.util.Set<ModelObject> executeSavedQuery(java.lang.String query,
                                                       boolean shared)
                                                throws DataException

      Executes a saved query on the server and returns the results.
      Parameters:
        `query` - The name of the saved query to execute
        `shared` - If the query is a shared, public query or belongs soley to the user.
      Returns:
        Returns the results as a set of ModelObjects. The set is guaranteed to not be null, but may be empty if no results are returned by the query or if the specified query does not exist.
      Throws:
        `DataException` - if an error occurs executing the script.

    - #### findById

          ModelObject findById(java.lang.String archiveId)
                        throws DataException

      Searches the EKM Repository for the object with the specified, unique ID.
      Parameters:
        `archiveId` - the ID used to search for the object
      Returns:
        Returns the object or null if an object with the given ID does not exist.
      Throws:
        `DataException` - if an error occurs executing the search.

    - #### findByKeyword

          java.util.Set<ModelObject> findByKeyword(java.lang.String keyword)
                                            throws DataException

      Searches for objects, in the Shared Data and user's My Data folders, that contain the specified keyword in any property.
      Parameters:
        `keyword` - the keyword to search for
      Returns:
        Returns a set of objects that contain the specified keyword in at least one property of the object. The set will never be null but may be emtpy if no objects contain the keyword.
      Throws:
        `DataException` - if an error occurs executing the search.

    - #### findByKeyword

          java.util.Set<ModelObject> findByKeyword(java.lang.String keyword,
                                                   java.util.List<java.lang.String> paths)
                                            throws DataException

      Searches for objects, in the specified paths, that contain the specified keyword in any property.
      Parameters:
        `keyword` - the keyword to search for
        `paths` - the paths to search
      Returns:
        Returns a set of objects that contain the specified keyword in at least one property of the object. The set will never be null but may be emtpy if no objects contain the keyword.
      Throws:
        `DataException` - if an error occurs executing the search.

    - #### findByPath

          ModelObject findByPath(java.lang.String path)
                          throws DataException

      Searches the EKM Repository for an object at the specified path.
      Parameters:
        `path` - the path to search for
      Returns:
        Returns the object or null if one does not exist at the specfied path.
      Throws:
        `DataException` - if an error occurs executing the search.

    - #### findByQuery

          java.util.Set<ModelObject> findByQuery(Query query)
                                          throws DataException

      Searches the EKM Repository by executing the given query.
      Parameters:
        `query` - the query to execute
      Returns:
        Returns the results of the query. The Set is guaranteed to not be null, but it may be empty if the query does not return any results.
      Throws:
        `DataException` - if an error occurs executing the query.

    - #### findByQuery

          java.util.Set<ModelObject> findByQuery(java.lang.String queryXml)
                                          throws DataException

      Searches the EKM server for objects using the given XML query.
      Parameters:
        `queryXml` - the query as XML
      Returns:
        Returns the results.
      Throws:
        `DataException` - if an error occurs executing the query.

    - #### genericCall

          com.ansys.ingress.commons.model.Variant genericCall(java.lang.String controller,
                                                              java.lang.String method,
                                                              com.ansys.ingress.commons.model.Variant args)
                                                       throws DataException

      Deprecated.
      Temporary method to allow FTC and Studio to compile. Will always throw NotImplementedException.
      Parameters:
        `controller` - not used
        `method` - not used
        `args` - not used
      Returns:
        Returns nothing.
      Throws:
        `DataException` - never.

    - #### getCacheStatus

          CacheStatus getCacheStatus(java.lang.String id)
                              throws DataException

      Gets the status of a file transfer that is using an EKM cache server.
      Parameters:
        `id` - The ID returned from a call to transfer files.
      Returns:
        Returns the status of the transfer.
      Throws:
        `DataException` - if the status could not be retrieved from the EKM cache server.

    - #### getChanges

          void getChanges(java.lang.String localCopy,
                          java.lang.String remoteCopy,
                          TransferEventListener listener)
                   throws DataException

      Retrieves differences between local copy of files and folders on the user's machine with coresponding files and folders on the EKM server.
      Parameters:
        `localCopy` - Specifies the path to the files and folders on the user's machine to check.
        `remoteCopy` - Specifies the path to the corresponding files and folders on the EKM server to check.
        `listener` - The object that receives events related to downloading the changes from the server
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### getConnection

          Connection getConnection()

      Gets the Connection associated with this DataManager.
      Returns:
        Returns the Connection.

    - #### getListing

          java.util.List<ModelObject> getListing(java.lang.String path)
                                          throws DataException

      Gets a list of the file and container objects that are children of the object at the specified path.
      Parameters:
        `path` - The path to query
      Returns:
        Returns a list of objects. The list may be empty if the specified object does not exist or it does not contain any files or containers.
      Throws:
        `DataException` - if an error occurs executing the query.

    - #### getListing

          java.util.List<ModelObject> getListing(java.lang.String path,
                                                 java.util.Set<java.lang.String> allowedTypes,
                                                 java.util.Set<java.lang.String> actions)
                                          throws DataException

      Gets a list of the specified object types that are children of the object at the specified path.
      Parameters:
        `path` - the path to query
        `allowedTypes` - the types to return
        `actions` - the required actions for the returned types
      Returns:
        Returns the list of objects.
      Throws:
        `DataException` - if an error occurs executing the query.

    - #### getConcreteTypes

          java.util.Set<java.lang.String> getConcreteTypes()
                                                    throws DataException

      Gets the concrete types (types that can be created by a user) defined on the EKM server.
      Returns:
        Returns the set of concrete types.
      Throws:
        `DataException` - if the types could not be retrieved.

    - #### getModelSpecs

          java.util.Map<java.lang.String,ModelSpec> getModelSpecs()
                                                           throws DataException

      Retrieves the object types supported by the EKM server.
      Returns:
        Returns a map where each key is a supported type and the value is the type specification.
      Throws:
        `DataException` - if an error occurs retrieve the types.

    - #### getObjectUrl

          java.lang.String getObjectUrl(java.lang.String path)
                                 throws DataException

      Returns the URL to an object in the repository.
      Parameters:
        `path` - the path to the object
      Returns:
        Returns the URL to an object
      Throws:
        `DataException` - if the URL could not be retrieved.

    - #### getTotalBytesCached

          long getTotalBytesCached(java.util.Set<com.ansys.ingress.commons.serializable.ContentManifestEntryData> items)
                            throws DataException

      Get the total number of bytes cached on the cache server for the given items.
      Parameters:
        `items` - the items to check
      Returns:
        Returns the number of bytes cached.
      Throws:
        `DataException` - if the number of bytes could not be retrieved.

    - #### getVersionHistory

          java.util.Map<java.lang.String,VersionHistoryItem> getVersionHistory(ModelObject versionedObject)
                                                                        throws DataException

      Retrieves the version control history of the specified object from the EKM server.
      Parameters:
        `versionedObject` - The object in version control for which history is retrieved.
      Returns:
        Returns a map where the keys are the version identifier and the values are the instances of `VersionHistoryItem`. These items contain the comments for the check in, the user that performed the check in, and the date of the check in. If the specified object is not under version control, an empty map is returned.
      Throws:
        `DataException` - if an error occurs executing the query.

    - #### hasPermission

          boolean hasPermission(ModelObject toCheck,
                                java.util.Collection<PermissionAction> actions)

      Determines if the current user has permission to perform the specified actions on the given object.
      Parameters:
        `toCheck` - The object to check
        `actions` - The requested actions
      Returns:
        Returns true if the user has permission to perform all of the specified actions or false if any one of the specified permissions is denied.

    - #### isCheckinApplicable

          boolean isCheckinApplicable(ModelObject obj)
                               throws DataException

      Determines whether the specified object can be checked into version control. This is based on the version control status of the object as well as whether the object has been modified or not.
      Parameters:
        `obj` - The object to check
      Returns:
        Returns true if the object can be checked into version control.
      Throws:
        `DataException` - if an error occurs executing the query.

    - #### isDataExtractionPending

          boolean isDataExtractionPending(java.lang.String path)
                                   throws DataException

      Determines if an object on the EKM server is currently having metadata extracted from it.
      Parameters:
        `path` - The path of the object to check
      Returns:
        Returns true if the object is having metadata extracted.
      Throws:
        `DataException` - if an error occurs executing the query.

    - #### isUsingCache

          boolean isUsingCache()

      Determines if transfers will use an EKM cache server or not.
      Returns:
        Returns true if using an EKM cache server.

    - #### lock

          boolean lock(java.lang.String path)

      Locks an object for exclusive use by the current user. The object must be unlocked prior to any other users modifying it. This operation is not recursive.
      Parameters:
        `path` - The path to the object to lock
      Returns:
        Returns true if the object was locked.

    - #### lock

          boolean lock(java.lang.String path,
                       boolean recursive)

      Locks an object for exclusive use by the current user. The object must be unlocked prior to any other users modifying it.
      Parameters:
        `path` - The path to the object to lock
        `recursive` - If all of the object's children should be locked
      Returns:
        Returns true if the object was locked. If recursive, only returns true if the object and all of its children were locked.

    - #### logDownload

          void logDownload(java.util.List<java.lang.String> pathsToLog)
                    throws DataException

      Logs downloads on the server.
      Parameters:
        `pathsToLog` - the paths of the objects being downloaded
      Throws:
        `DataException` - if the download could not be logged.

    - #### move

          ModelObject move(java.lang.String source,
                           java.lang.String destination)
                    throws DataException

      Moves the object at the source path to the object at the destination path.
      Parameters:
        `source` - the object to move
        `destination` - the destination of the move
      Returns:
        Returns moved object.
      Throws:
        `DataException` - if the object could not be moved.

    - #### removeCacheStatus

          void removeCacheStatus(java.lang.String id)
                          throws DataException

      Removes status information from an EKM cache server.
      Parameters:
        `id` - The ID to remove as returned from a file transfer operation.
      Throws:
        `DataException` - if an error occurs removing the status.

    - #### removeFromVersionControl

          ModelObject removeFromVersionControl(ModelObject toRemove)
                                        throws DataException

      Removes an object and all of its children from version control. The object must first be checked out prior to removing it from version control.
      Parameters:
        `toRemove` - The object to remove from version control
      Returns:
        Returns the object that was removed from version control.
      Throws:
        `DataException` - If the object could not be removed from version control.
      See Also:
        `checkout(ModelObject)`

    - #### removeFromVersionControl

          ModelObject removeFromVersionControl(ModelObject toRemove,
                                               boolean recursive)
                                        throws DataException

      Removes an object from version control. The object must first be checked out prior to removing it from version control.
      Parameters:
        `toRemove` - The object to remove from version control
        `recursive` - If all of the object's children should be removed from version control.
      Returns:
        Returns the object that was removed from version control.
      Throws:
        `DataException` - If the object could not be removed from version control.
      See Also:
        `checkout(ModelObject, boolean)`

    - #### sendChanges

          java.lang.String sendChanges(java.lang.String localCopy,
                                       java.lang.String remoteCopy,
                                       java.util.List<java.lang.String> omissions,
                                       TransferEventListener listener)
                                throws DataException

      Sends differences between local copies of files and folders on the user's computer with coresponding files and folders on the EKM server.
      Parameters:
        `localCopy` - Specifies the path to the files and folders on the user's computer to check.
        `remoteCopy` - Specifies the path to the files and folders on the EKM server to check.
        `omissions` - Specifies the paths of files and folders that should be omitted from the transfer.
        `listener` - The object that receives events related to uploading the changes to the server
      Returns:
        Returns an ID from the EKM cache server that can be used to monitor the transfer. If not using an EKM cache server, returns null.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### sendChanges

          java.lang.String sendChanges(java.lang.String localCopy,
                                       java.lang.String remoteCopy,
                                       java.util.List<java.lang.String> omissions,
                                       TransferEventListener listener,
                                       boolean checkin,
                                       java.lang.String comment)
                                throws DataException

      Sends differences between local copies of files and folders on the user's computer with coresponding files and folders on the EKM server.
      Parameters:
        `localCopy` - Specifies the path to the files and folders on the user's computer to check.
        `remoteCopy` - Specifies the path to the files and folders on the EKM server to check.
        `omissions` - Specifies the paths of files and folders that should be omitted from the transfer.
        `listener` - The object that receives events related to uploading the changes to the server
        `checkin` - Indicates the sent changes should be committed to version control.
        `comment` - Specifies a comment describing the reason the changes are being committed to version control.
      Returns:
        Returns an ID from the EKM cache server that can be used to monitor the transfer. If not using an EKM cache server, returns null.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### sendChanges

          java.lang.String sendChanges(java.lang.String localCopy,
                                       java.lang.String remoteCopy,
                                       java.util.List<java.lang.String> omissions,
                                       TransferEventListener listener,
                                       boolean checkin,
                                       java.lang.String comment,
                                       boolean checkout)
                                throws DataException

      Sends differences between local copies of files and folders on the user's computer with coresponding files and folders on the EKM server.
      Parameters:
        `localCopy` - Specifies the path to the files and folders on the user's computer to check.
        `remoteCopy` - Specifies the path to the files and folders on the EKM server to check.
        `omissions` - Specifies the paths of files and folders that should be omitted from the transfer.
        `listener` - The object that receives events related to uploading the changes to the server
        `checkin` - Indicates the sent changes should be committed to version control.
        `comment` - Specifies a comment describing the reason the changes are being committed to version control.
        `checkout` - Indicates the sent changes should be checked out from version control.
      Returns:
        Returns an ID from the EKM cache server that can be used to monitor the transfer. If not using an EKM cache server, returns null.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### serializeModelObject

          java.lang.String serializeModelObject(ModelObject object)
                                         throws com.ansys.ingress.commons.serialization.SerializationException

      Serializes a ModelObject instance into XML.
      Parameters:
        `object` - the object to serialize
      Returns:
        Returns the XML.
      Throws:
        `com.ansys.ingress.commons.serialization.SerializationException` - if the object could not be serialized.

    - #### serializeModelObject

          java.lang.String serializeModelObject(ModelObject object,
                                                boolean fetch)
                                         throws com.ansys.ingress.commons.serialization.SerializationException

      Serializes a ModelObject instance into XML.
      Parameters:
        `object` - the object to serialize
        `fetch` - if the object should be fetched from the server when attributes are not initialized
      Returns:
        Returns the XML.
      Throws:
        `com.ansys.ingress.commons.serialization.SerializationException` - if the object could not be serialized.

    - #### serializeModelSpec

          java.lang.String serializeModelSpec(ModelSpec spec)
                                       throws com.ansys.ingress.commons.serialization.SerializationException

      Serializes a ModelSpec instance into XML.
      Parameters:
        `spec` - the spec to serialize
      Returns:
        Returns the XML.
      Throws:
        `com.ansys.ingress.commons.serialization.SerializationException` - if the spec could not be serialized.

    - #### undoCheckout

          ModelObject undoCheckout(ModelObject toUndo)
                            throws DataException

      Restores an object, and all of its children, that was previously checked out from version control.
      Parameters:
        `toUndo` - The object to revert
      Returns:
        Returns the restored object.
      Throws:
        `DataException` - if the checkout could not be undone.

    - #### undoCheckout

          ModelObject undoCheckout(ModelObject toUndo,
                                   boolean recursive)
                            throws DataException

      Restores an object that was previously checked out from version control.
      Parameters:
        `toUndo` - The object to revert
        `recursive` - If all of the object's children should also be restored.
      Returns:
        Returns the restored object.
      Throws:
        `DataException` - if the checkout could not be undone.

    - #### unlock

          boolean unlock(java.lang.String path)

      Unlocks an object that was previously locked for exclusive use. This operation is not recursive.
      Parameters:
        `path` - The path of the object to unlock.
      Returns:
        Returns true if the object was unlocked.

    - #### unlock

          boolean unlock(java.lang.String path,
                         boolean recursive)

      Unlocks an object that was previously locked for exclusive use.
      Parameters:
        `path` - The path of the object to unlock.
        `recursive` - If all of the objects children should be unlocked.
      Returns:
        Returns true if the object was unlocked. If recurive, only returns true if the object and all of its children were unlocked.

    - #### updateModelObject

          ModelObject updateModelObject(ModelObject toUpdate)
                                 throws DataException

      Updates the object on the EKM server.
      Parameters:
        `toUpdate` - The object being update.
      Returns:
        Returns the updated object.
      Throws:
        `DataException` - if the object could not be updated.

    - #### updateSubscriptions

          void updateSubscriptions(java.lang.String path,
                                   int subscriptions)
                            throws DataException

      Updates the current user's notifications on the object at the specified path.
      Parameters:
        `path` - the path to the object to update
        `subscriptions` - a bitmap of events that the user wishes to be notified about
      Throws:
        `DataException` - if the subscriptions could not be updated.

    - #### updateAnalysisProject

          void updateAnalysisProject(java.lang.String path)
                              throws DataException

      Updates the Analysis Project object at the specified path.
      Parameters:
        `path` - the path to the object to update notified about
      Throws:
        `DataException` - if the subscriptions could not be updated.

    - #### upload

          java.lang.String upload(java.util.List<java.lang.String> sources,
                                  java.lang.String destination,
                                  java.util.List<java.lang.String> omissions,
                                  TransferEventListener listener)
                           throws DataException

      Uploads files and folders from the user's computer to the destination folder on the EKM server.
      Parameters:
        `sources` - The files and folders to upload
        `destination` - The destination folder on the EKM server
        `omissions` - Specifies the paths of files and folders that should be omitted from the transfer.
        `listener` - The object that receives events related to the upload
      Returns:
        Returns an ID from the EKM cache server that can be used to monitor the transfer. If not using an EKM cache server, returns null.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### upload

          java.lang.String upload(java.util.List<java.lang.String> sources,
                                  java.lang.String destination,
                                  java.util.List<java.lang.String> omissions,
                                  TransferEventListener listener,
                                  boolean overwrite)
                           throws DataException

      Uploads files and folders from the user's computer to the destination folder on the EKM server.
      Parameters:
        `sources` - The files and folders to upload
        `destination` - The destination folder on the EKM server
        `omissions` - Specifies the paths of files and folders that should be omitted from the transfer.
        `listener` - The object that receives events related to the upload
        `overwrite` - If existing objects on the server should be overwritten or not
      Returns:
        Returns an ID from the EKM cache server that can be used to monitor the transfer. If not using an EKM cache server, returns null.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### upload

          java.lang.String upload(java.util.List<java.lang.String> sources,
                                  java.lang.String destination,
                                  java.util.List<java.lang.String> omissions,
                                  TransferEventListener listener,
                                  boolean overwrite,
                                  boolean lock)
                           throws DataException

      Uploads files and folders from the user's computer to the destination folder on the EKM server. This operation also allows locking of the newly uploaded files and folders.
      Parameters:
        `sources` - The files and folders to upload
        `destination` - The destination folder on the EKM server
        `omissions` - Specifies the paths of files and folders that should be omitted from the transfer.
        `listener` - The object that receives events related to the upload
        `overwrite` - If existing objects on the server should be overwritten or not
        `lock` - If the objects being uploaded should be locked for exclusive use by the current user after the transfer completes
      Returns:
        Returns an ID from the EKM cache server that can be used to monitor the transfer. If not using an EKM cache server, returns null.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### upload

          java.lang.String upload(java.util.List<java.lang.String> sources,
                                  java.lang.String destination,
                                  java.util.List<java.lang.String> omissions,
                                  TransferEventListener listener,
                                  boolean overwrite,
                                  boolean lock,
                                  int alerts)
                           throws DataException

      Uploads files and folders from the user's computer to the destination folder on the EKM server. This operation also allows locking and setting of alerts on the newly uploaded files and folders.
      Parameters:
        `sources` - The files and folders to upload
        `destination` - The destination folder on the EKM server
        `omissions` - Specifies the paths of files and folders that should be omitted from the transfer.
        `listener` - The object that receives events related to the upload
        `overwrite` - If existing objects on the server should be overwritten or not
        `lock` - If the objects being uploaded should be locked for exclusive use by the current user after the transfer completes
        `alerts` - EKM alerts that should be set for the uploaded files and folders.
      Returns:
        Returns an ID from the EKM cache server that can be used to monitor the transfer. If not using an EKM cache server, returns null.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### upload

          java.lang.String upload(java.util.List<java.lang.String> sources,
                                  java.lang.String destination,
                                  java.util.List<java.lang.String> omissions,
                                  TransferEventListener listener,
                                  boolean overwrite,
                                  boolean lock,
                                  int alerts,
                                  boolean addToVc,
                                  boolean checkin,
                                  java.lang.String comment,
                                  boolean checkout)
                           throws DataException

      Uploads files and folders from the user's computer to the destination folder on the EKM server. This operation also allows locking, setting of alerts, and version control to be performed on the newly uploaded files and folders.
      Parameters:
        `sources` - The files and folders to upload
        `destination` - The destination folder on the EKM server
        `omissions` - Specifies the paths of files and folders that should be omitted from the transfer.
        `listener` - The object that receives events related to the upload
        `overwrite` - If existing objects on the server should be overwritten or not
        `lock` - If the objects being uploaded should be locked for exclusive use by the current user after the transfer completes
        `alerts` - EKM alerts that should be set for the uploaded files and folders.
        `addToVc` - If the uploaded files and folders should be added to version control or not.
        `checkin` - If the uploaded files and folders should be checked into version control.
        `comment` - Comments about the checkin.
        `checkout` - If the uploaded files and folders should be checked out from version control.
      Returns:
        Returns an ID from the EKM cache server that can be used to monitor the transfer. If not using an EKM cache server, returns null.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`

    - #### upload

          java.lang.String upload(java.util.List<java.lang.String> sources,
                                  java.lang.String destination,
                                  java.util.List<java.lang.String> omissions,
                                  TransferEventListener listener,
                                  boolean overwrite,
                                  boolean lock,
                                  int alerts,
                                  boolean addToVc,
                                  boolean checkin,
                                  java.lang.String comment,
                                  boolean checkout,
                                  java.lang.String description)
                           throws DataException

      Uploads files and folders from the user's computer to the destination folder on the EKM server. This operation also allows locking, setting of alerts, and version control to be performed on the newly uploaded files and folders.
      Parameters:
        `sources` - The files and folders to upload
        `destination` - The destination folder on the EKM server
        `omissions` - Specifies the paths of files and folders that should be omitted from the transfer.
        `listener` - The object that receives events related to the upload
        `overwrite` - If existing objects on the server should be overwritten or not
        `lock` - If the objects being uploaded should be locked for exclusive use by the current user after the transfer completes
        `alerts` - EKM alerts that should be set for the uploaded files and folders.
        `addToVc` - If the uploaded files and folders should be added to version control or not.
        `checkin` - If the uploaded files and folders should be checked into version control.
        `comment` - Comments about the checkin.
        `checkout` - If the uploaded files and folders should be checked out from version control.
        `description` - optional description for the files being uploaded
      Returns:
        Returns an ID from the EKM cache server that can be used to monitor the transfer. If not using an EKM cache server, returns null.
      Throws:
        `DataException` - if an error occurs starting the transfer.
      See Also:
        `TransferEventListener`, `getCacheStatus(String)`