What is Memory Manager - Memory Vault

Memory Manager - Memory Vault is a 100% pure Java API and Implementation capable of reading the data files of the Memory Vault of an application named Memory Manager from the company Creative Memories. This library is capable of constructing the tree of sortboxes, folders, and photos inside the folders, as well as contructing the albums (Bookshelves) and showing the photos inside the albums.

Reading this data with Java allows applications to be written on top of Memory Manager to extend its capabilities. For example, by combining this library with the Flickr API, Memory Manager photos (along with their titles and descriptions) can be automatically uploaded to Flickr. See the Memory Manager - toFlickr application.

This library does NOT provide write access!! This library is intended to be READ ONLY. It is not intended to update, change, or alter the Memory Vault in any way. Use your Memory Manager application to make changes first.


The starting point for this library is the org.ferris.memorymanager.memoryvault.dao.MemoryVaultDao interface. The purpose of this interface is to return an implementation of org.ferris.memorymanager.memoryvault.model.MemoryVault. This follows the typical data access object (DAO) design pattern.

Because this project codes to these interfaces, implementations of the interface may change as Memory Manager changes. An implementation supporting the Manifest.vaultx file for Memory Manager 3 is provided. If you are using Memory Manager 3, your starting point is org.ferris.memorymanager.memoryvault.dao.v3.MemoryVaultDaoV3. Here is an example.

// Create a string object to the "Manifest.vaultx" 
// file of your Memory Manager 3 manifest file.
String manifestFilePath 
    = "C:\\Pictures\\Memory Vault\\Manifest.vaultx";

// Create an instance of the Memory Manager 3 DAO.
MemoryVaultDao memoryVaultDao
    = new MemoryVaultDaoV3();

// Using the file system location of the "Manifest.vault"
// as an ID which uniquely identifies the memory vault you
// want to access, pass it to the DAO to get a MemoryVault
MemoryVault memoryVault
    = nmemoryVaultDao.getMemoryVaultById(manifestFilePath);

Once you have the MemoryVault, call its methods to get the sortboxes and bookshelves.

That is all there is too it.