Class EmbeddedSlotMap

java.lang.Object
org.mozilla.javascript.EmbeddedSlotMap
All Implemented Interfaces:
Iterable<Slot>, SlotMap

public class EmbeddedSlotMap extends Object implements SlotMap
  • Constructor Details

    • EmbeddedSlotMap

      public EmbeddedSlotMap()
  • Method Details

    • size

      public int size()
      Description copied from interface: SlotMap
      Return the size of the map.
      Specified by:
      size in interface SlotMap
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: SlotMap
      Return whether the map is empty.
      Specified by:
      isEmpty in interface SlotMap
    • iterator

      public Iterator<Slot> iterator()
      Specified by:
      iterator in interface Iterable<Slot>
    • query

      public Slot query(Object key, int index)
      Locate the slot with the given name or index.
      Specified by:
      query in 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.
      Returns:
      either the Slot that matched the key and index, or null
    • modify

      public Slot modify(Object key, int index, int attributes)
      Locate the slot with given name or index, and create a new one if necessary.
      Specified by:
      modify in interface SlotMap
      Parameters:
      key - either a String or a Symbol object that identifies the property
      index - index or 0 if slot holds property name.
      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.
    • replace

      public void replace(Slot oldSlot, Slot newSlot)
      Description copied from interface: SlotMap
      Replace "slot" with a new slot. This is used to change slot types.
      Specified by:
      replace in interface SlotMap
    • add

      public void add(Slot 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
    • remove

      public void remove(Object key, int index)
      Description copied from interface: SlotMap
      Remove the slot at either "key" or "index".
      Specified by:
      remove in 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.