Class ImmutableSmallSlotMap<T extends PropHolder<T>>

java.lang.Object
org.htmlunit.corejs.javascript.ImmutableSmallSlotMap<T>
All Implemented Interfaces:
Iterable<Slot<T>>, SlotMap<T>
Direct Known Subclasses:
ThreadSafeImmutableSmallSlotMap

public class ImmutableSmallSlotMap<T extends PropHolder<T>> extends Object implements SlotMap<T>
  • Field Details

  • Constructor Details

    • ImmutableSmallSlotMap

      public ImmutableSmallSlotMap(Slot<T> slot0, Slot<T> slot1, Slot<T> slot2, Slot<T> slot3)
  • Method Details

    • newMap

      protected SlotMap<T> newMap(SlotMapOwner<T> owner, int expansion)
    • add

      public void add(SlotMapOwner<T> owner, Slot<T> newSlot)
      Description copied from interface: SlotMap
      Insert 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:
      add in interface SlotMap<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:
      compute in interface SlotMap<T extends PropHolder<T>>
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: SlotMap
      Return whether the map is empty.
      Specified by:
      isEmpty in interface SlotMap<T extends PropHolder<T>>
    • modify

      public Slot<T> modify(SlotMapOwner<T> owner, Object key, int index, int attributes)
      Description copied from interface: SlotMap
      Return 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:
      modify in interface SlotMap<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

      public Slot<T> query(Object key, int index)
      Description copied from interface: SlotMap
      Retrieve the slot at EITHER key or index, or return null if the slot cannot be found.
      Specified by:
      query in interface SlotMap<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: SlotMap
      Return the size of the map.
      Specified by:
      size in interface SlotMap<T extends PropHolder<T>>
    • iterator

      public Iterator<Slot<T>> iterator()
      Specified by:
      iterator in interface Iterable<T extends PropHolder<T>>