The State class maintains state for a collection of named items, with a varying number of properties defined.
It avoids the need to create a separate class for the item, and separate instances of these classes for each item, by storing the state in a 2 level hash table, improving performance when the number of items is likely to be large.
Stateaddname
key
val
Adds a property to an item.
addAllname
obj
Adds multiple properties to an item.
getname
key
For a given item, returns the value of the property requested, or undefined if not found.
The value of the supplied property.
getAllname
reference
For the given item, returns an object with all of the item's property/value pairs. By default the object returned is a shallow copy of the stored data, but passing in true as the second parameter will return a reference to the stored data.
An object with property/value pairs for the item.
removename
key
Removes a property from an item.
dataHash of attributes