(function(window)
{
var Gitana = window.Gitana;
Gitana.IdentityMap = Gitana.AbstractPlatformObjectMap.extend(
/** @lends Gitana.IdentityMap.prototype */
{
/**
* @constructs
* @augments Gitana.AbstractPlatformObjectMap
*
* @class Map of identity objects
*
* @param {Gitana.Registrar} directory Gitana directory object
* @param {Object} object
*/
constructor: function(directory, object)
{
this.objectType = function() { return "Gitana.IdentityMap"; };
//////////////////////////////////////////////////////////////////////////////////////////////
//
// PRIVILEGED METHODS
//
//////////////////////////////////////////////////////////////////////////////////////////////
this.getDirectory = function()
{
return directory;
};
this.getDirectoryId = function()
{
return directory.getId();
};
//////////////////////////////////////////////////////////////////////////////////////////////
//
// CALL THROUGH TO BASE CLASS (at the end)
//
//////////////////////////////////////////////////////////////////////////////////////////////
this.base(directory.getPlatform(), object);
},
/**
* @override
*/
clone: function()
{
return this.getFactory().identityMap(this.getDirectory(), this);
},
/**
* @param json
*/
buildObject: function(json)
{
return this.getFactory().identity(this.getDirectory(), json);
}
});
})(window);