telosys
Rev 13 | Blame | Compare with Previous | Last modification | View Log | RSS feed
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
/**
* Map class with methods like Java HashMap or Hashtable
* @author Laurent GUERIN
*/
//------------------------------------------------------------------------------
function Map()
{
//------------------------------------------------------------------------------
// PRIVATE INSTANCE ATTRIBUTE(S)
//------------------------------------------------------------------------------
var _oMap = new Object ;
//------------------------------------------------------------------------------
// METHODS
//------------------------------------------------------------------------------
this.put = function( key, value )
{
if ( key != null )
{
_oMap[key] = value ;
}
}
//------------------------------------------------------------------------------
this.get = function( key )
{
if ( key != null )
{
var value = _oMap[key];
return ( value === undefined ? null : value )
}
return null;
}
//------------------------------------------------------------------------------
this.remove = function( key )
{
if ( key != null )
{
delete _oMap[key];
}
}
//------------------------------------------------------------------------------
this.clear = function()
{
for ( var key in _oMap )
{
delete _oMap[key];
}
}
//------------------------------------------------------------------------------
this.size = function()
{
var i = 0 ;
for ( var key in _oMap )
{
i++ ;
}
return i;
}
//------------------------------------------------------------------------------
this.containsKey = function(key)
{
if ( key != null )
{
return ( _oMap[key] === undefined ? false : true )
}
return false;
}
//------------------------------------------------------------------------------
this.keysArray = function ()
{
var array = new Array();
for ( var key in _oMap )
{
array.push(key);
}
return array;
}
//------------------------------------------------------------------------------
this.keysString = function ()
{
var s = "";
var i = 0 ;
for ( var key in _oMap )
{
if ( i > 0 )
{
s += ",";
}
s += key ;
i++;
}
return s;
}
//------------------------------------------------------------------------------
this.show = function ()
{
var s = "";
for ( var key in _oMap )
{
var value = _oMap[key];
s += "\n. " + key + " : " + value ;
}
alert("Map content : " + s);
}
}