Package org.mozilla.javascript
Class HashSlotMap
- java.lang.Object
- 
- org.mozilla.javascript.HashSlotMap
 
- 
 public class HashSlotMap extends java.lang.Object implements SlotMap 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 SummaryConstructors Constructor Description HashSlotMap()
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(Slot newSlot)Insert a new slot to the map.booleanisEmpty()Return whether the map is empty.java.util.Iterator<Slot>iterator()Slotmodify(java.lang.Object key, int index, int attributes)Return the Slot that matches EITHER "key" or "index".Slotquery(java.lang.Object key, int index)Retrieve the slot at EITHER key or index, or return null if the slot cannot be found.voidremove(java.lang.Object key, int index)Remove the slot at either "key" or "index".voidreplace(Slot oldSlot, Slot newSlot)Replace "slot" with a new slot.intsize()Return the size of the map.
 
- 
- 
- 
Method Detail- 
sizepublic int size() Description copied from interface:SlotMapReturn the size of the map.
 - 
isEmptypublic boolean isEmpty() Description copied from interface:SlotMapReturn whether the map is empty.
 - 
querypublic Slot query(java.lang.Object key, int index) Description copied from interface:SlotMapRetrieve the slot at EITHER key or index, or return null if the slot cannot be found.
 - 
modifypublic Slot modify(java.lang.Object key, int index, int attributes) 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".) If no slot exists, then create a default slot class.- Specified by:
- modifyin interface- SlotMap
- Parameters:
- key- The key for the slot, which should be a String or a Symbol.
- index- if key is zero, then this will be used as the key instead.
- attributes- the attributes to be set on the slot if a new slot is created. Existing slots will not be modified.
- Returns:
- a Slot, which will be created anew if no such slot exists.
 
 - 
replacepublic void replace(Slot oldSlot, Slot newSlot) Description copied from interface:SlotMapReplace "slot" with a new slot. This is used to change slot types.
 - 
addpublic void add(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 "modify" method.
 - 
removepublic void remove(java.lang.Object key, int index)Description copied from interface:SlotMapRemove the slot at either "key" or "index".
 
- 
 
-