Package org.mozilla.javascript
Class HashSlotMap
java.lang.Object
org.mozilla.javascript.HashSlotMap
This class implements the SlotMap interface using a java.util.HashMap. This class has more
overhead than EmbeddedSlotMap, especially because it puts each "Slot" inside an intermediate
object. However it is much more resistant to large number of hash collisions than
EmbeddedSlotMap and therefore we use this implementation when an object gains a large
number of properties.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddSlot(org.mozilla.javascript.ScriptableObject.Slot newSlot) Insert a new slot to the map.org.mozilla.javascript.ScriptableObject.SlotReturn the Slot that matches EITHER "key" or "index".booleanisEmpty()Return whether the map is empty.Iterator<org.mozilla.javascript.ScriptableObject.Slot> iterator()org.mozilla.javascript.ScriptableObject.SlotThis is an optimization that is the same as get with an accessType of SLOT_QUERY.voidRemove the slot at either "key" or "index".intsize()Return the size of the map.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
HashSlotMap
public HashSlotMap()
-
-
Method Details
-
size
public int size()Description copied from interface:SlotMapReturn the size of the map. -
isEmpty
public boolean isEmpty()Description copied from interface:SlotMapReturn whether the map is empty. -
query
Description copied from interface:SlotMapThis is an optimization that is the same as get with an accessType of SLOT_QUERY. It should be used instead of SLOT_QUERY because it is more efficient. -
get
public org.mozilla.javascript.ScriptableObject.Slot get(Object key, int index, org.mozilla.javascript.ScriptableObject.SlotAccess accessType) Description copied from interface:SlotMapReturn the Slot that matches EITHER "key" or "index". (It will use "key" if it is not null, and otherwise "index". "accessType" is one of the constants defined in ScriptableObject. -
addSlot
public void addSlot(org.mozilla.javascript.ScriptableObject.Slot newSlot) Description copied from interface:SlotMapInsert a new slot to the map. Both "name" and "indexOrHash" must be populated. Note that ScriptableObject generally adds slots via the "get" method. -
remove
Description copied from interface:SlotMapRemove the slot at either "key" or "index". -
iterator
-