This section describes the File Manager.
The AlfrescoFileManager interface defines an API to abstract access to the file system. The capabilities of the AlfrescoFileManager are similar to those of the standard NSFileManager plus additional Alfresco-biased helper methods.
This abstraction allows different file system implementation to be plugged into the SDK.
The AlfrescoFileManager will use the class cluster pattern to determine the appropriate concrete implementation to return. Users of the AlfrescoFileManager, typically an app, will be unaware of which implementation is being used.
By default, the AlfrescoFileManager will use a FileManager based implementation.
To use an alternative implementation an entry with a key of 'AlfrescoFileManagerClassName', defined as a constant in AlfrescoConstants.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 AlfrescoFileManager.
The AlfrescoPlaceholderFileManager class looks for the AlfrescoFileManagerClassName 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.