////////////////////////////////////////////////////////////////////////
//
// Filename:    lookuptable.js
// Purpose:     Create a lookup table for arbitrary data
// Method:      JavaScript class
//
// Author:      J.van.der.Steen@gobase.org
// Date:        2010-03-07
//
// Note:        Requires prototype.js, uuid.js
//
////////////////////////////////////////////////////////////////////////

var LookupTable = Class.create(
{

    initialize: function()
    {
        //
        // Create an empty lookup table
        //
        this.entries = {};
    }

    /**
     * Add an entry to the lookup table
     */
,   add: function(item)
    {
        var guid = getGuid();

        this.entries[guid] = item;

        return guid;
    }

    /**
     * Get an entry from the lookup table.
     */
,   get: function(guid)
    {
        if (this.entries[guid] === undefined) {
            return null;
        }
        return this.entries[guid];
    }

    /**
     * Remove an entry from the lookup table.
     */
,   destroy: function(guid)
    {
        //
        // Sanity check
        //
        if (this.getLookupTable(guid)) {
            delete this.entries[guid];
        }
    }

});


