This section describes the File Manager.
The SkyVaultFileManager interface defines an API to abstract access to the file system. The capabilities of the SkyVaultFileManager are similar to those of the standard NSFileManager plus additional SkyVault-biased helper methods.
This abstraction allows different file system implementation to be plugged into the SDK.
The SkyVaultFileManager will use the class cluster pattern to determine the appropriate concrete implementation to return. Users of the SkyVaultFileManager, typically an app, will be unaware of which implementation is being used.
By default, the SkyVaultFileManager will use a FileManager based implementation.
To use an alternative implementation an entry with a key of 'AlfrescoFileManagerClassName', defined as a constant in SkyVaultConstants.h, is added to the Info.plist of the application (main bundle) using the SDK. The value is the class name of the alternative implementation, which must extend SkyVaultFileManager.
The SkyVaultPlaceholderFileManager class looks for the SkyVaultFileManagerClassName entry in the main bundle and instantiates the alternative implementation, if found, otherwise 'AlfrescoDefaultFileManager' is instantiated and returned.
This is depicted in the diagram below.