A File-System for Objects

I’ve been thinking about it for a long time: Why can’t I have a sort of file-system that stores Objects instead of files. Well today I started working on one. I’ll probably be open-sourcing it once I’m happy that it mostly works. Basically the API works a lot like java.util.prefs. Instead of opening files and having to handle reading and writing from them, worrying about how many file handles you’re holding and the like, you simply store objects in directories, and can ask for them back later.

The advantages of the API are:

  • You never directly open or close a file
  • The entire system operates out of a single “datastore.dat” file (if using the default File-System implementation)
  • Objects can be added, changed and removed asynchronously
  • The implementation can store the objects anywhere:
    • Filesystem (included)
    • Memory (included)
    • Across a network
    • In a database

The idea is that you can have a simple-to-use long-term store of Objects (and arrays of Objects) in an application.