Module org.htmlunit.corejs
Package org.htmlunit.corejs.javascript
Class ImmutableSmallSlotMap<T extends PropHolder<T>>
java.lang.Object
org.htmlunit.corejs.javascript.ImmutableSmallSlotMap<T>
- Direct Known Subclasses:
ThreadSafeImmutableSmallSlotMap
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.htmlunit.corejs.javascript.SlotMap
SlotMap.SlotComputer<S extends Slot<T>,T extends PropHolder<T>> -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(SlotMapOwner<T> owner, Slot<T> newSlot) Insert a new slot to the map.compute(SlotMapOwner<T> owner, CompoundOperationMap<T> mutableMap, Object key, int index, SlotMap.SlotComputer<S, T> compute) booleanisEmpty()Return whether the map is empty.iterator()modify(SlotMapOwner<T> owner, Object key, int index, int attributes) Return the Slot that matches EITHER "key" or "index".newMap(SlotMapOwner<T> owner, int expansion) Retrieve the slot at EITHER key or index, or return null if the slot cannot be found.intsize()Return the size of the map.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface org.htmlunit.corejs.javascript.SlotMap
compute, copyMap, dirtySize, startCompoundOp
-
Field Details
-
slot0
-
slot1
-
slot2
-
slot3
-
-
Constructor Details
-
ImmutableSmallSlotMap
-
-
Method Details
-
newMap
-
add
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.- Specified by:
addin interfaceSlotMap<T extends PropHolder<T>>
-
compute
public <S extends Slot<T>> S compute(SlotMapOwner<T> owner, CompoundOperationMap<T> mutableMap, Object key, int index, SlotMap.SlotComputer<S, T> compute) - Specified by:
computein interfaceSlotMap<T extends PropHolder<T>>
-
isEmpty
public boolean isEmpty()Description copied from interface:SlotMapReturn whether the map is empty.- Specified by:
isEmptyin interfaceSlotMap<T extends PropHolder<T>>
-
modify
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 interfaceSlotMap<T extends PropHolder<T>>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.
-
query
Description copied from interface:SlotMapRetrieve the slot at EITHER key or index, or return null if the slot cannot be found.- Specified by:
queryin interfaceSlotMap<T extends PropHolder<T>>- 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.- Returns:
- either the Slot that matched the key and index, or null
-
size
public int size()Description copied from interface:SlotMapReturn the size of the map.- Specified by:
sizein interfaceSlotMap<T extends PropHolder<T>>
-
iterator
- Specified by:
iteratorin interfaceIterable<T extends PropHolder<T>>
-